In a flash memory, by passing charges through a tunnel insulating film, charges are injected from a semiconductor substrate into a charge accumulating layer or charges are held near the boundary between the charge accumulating film and tunnel insulating film.
However, moving charges in a tunnel insulating film lead to the problem that the tunnel insulating film may deteriorate (i.e., charges trapped in the insulating film increase), resulting in degradation of data holding characteristics. As described above, conventionally, it has been difficult to achieve a nonvolatile semiconductor device that has a high quality memory cell.